1. Technical Field
The present disclosure relates to debug systems and methods. Embodiments have been developed with particular attention paid to possible use for analyzing the operation of an integrated circuit.
2. Description of the Prior Art
Systems contained within an integrated circuit (Systems-on-Chip or SoCs) and systems in a single package (Systems-in-Package or SiPs) typically comprise a plurality of circuits that communicate with one another via a shared communication channel. For instance, said communication channel may be a bus or a communication network, such as, for example, a Network-On-Chip (NoC) or a Network-in-Package (NiP), and is frequently referred to as an “interconnection network” (ICN).
For instance, said SoCs are frequently used for processors designed for mobile or multimedia applications, such as, for example, smartphones, set-top boxes, or routers for domestic uses.
Even though each circuit of a SoC has been checked individually, certain problems may arise only when the entire system operates together; for instance, there may occur interruption or blocking, or the quality of the video or audio may be insufficient.
Consequently, there are frequently provided mechanisms that enable identification of the origin of the error and possibly find a solution. In general, said analysis or debugging mechanisms enable analysis of the behavior of the circuit at a silicon level, i.e., directly within the integrated circuit. For instance, the debug interface of a microcontroller typically enables analysis of the contents of the registers and memories of the microcontroller.
For instance, within a complex integrated system, a problem may arise at the level of printed circuit board (PCBs), at the level of integrated circuits, for example within a SoC, at the level of operating system, or at the level of application. In this case, some problems may even arise only when the entire platform has been assembled and programmed. Consequently, a problem could be solved directly via a modification at the software level, but in general there could also be an advantageous correction at a circuit level, i.e., at a hardware level.
However, whereas debugging mechanisms are frequently suitable for analyzing the behavior of the software, these mechanisms are typically insufficient for verifying proper operation of a specific circuit.